扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
RDBMS认证提供者的适用范围
Platform 8 中包含了基于 JAAS 安全的 RDBMS 认证提供者( Authentication Provider )的实现。但这个实现需要 Portal 8 的 License ,所以此认证提供者只对购买了 Portal 或 Platform License 的用户有效;而不能使用在购买了 Server 或 Integration License 的用户。
RDBMS认证提供者的配置
RDBMS 认证提供者所需要的资源( jar )文件位于 %WL_HOME%/server/lib/mbeantypes 目录下,文件名为: rdbmsAtnProvider.jar 。在安装了 Portal 产品或 Platform 产品后就能在相应目录下找到这个文件。
配置步骤如下:
1.启动 Domain
使用 Domain 对应的启动脚本 StartWebLogic.cmd/StartWebLogic.sh 来启动 Domain
2.启动 WLS 管理控制台
打开 Web Browser (如 IE )访问 WebLogic Server 管理控制台对应的URL
http://<Server>:<Port>/console 进入
3.进入认证提供者配置页面创建 RDBMS 认证提供者
a) 从控制台左边的选择 Security à Realms à Providers à Authentication 进入认证提供者配置页面
b) 点击 Configure a new RDBMSAuthentication… 链接创建 RDBMS 认证提供者
c) 输入RDBMS认证提供者的名称及选择其认证策略后选择“Create”
认证策略( Control Flag )设置了认证提供者的工作策略包括: REQUIRED 、 REQUISITE 、 SUFFICIENT 、 OPTIONAL
若你的系统只使用了一种认证提供者那策略设置为任何一种都可以。
d) 设置 RDBMS 认证提供者的 JDBC 连接设置属性
4. 删除缺省的认证提供者 DefaultAuthenticationProvider
5. 在数据库中加入系统初建时创建的记录,这些记录包括(在 Oracle 中创建表及创建初始记录的 SQL 见附件 rdbms-data.sql 文件):
使用自定义表结构的实现
若使用系统自带的 RDBMS 认证提供者但又希望使用自定义的表结构时怎么办呢?
答案是绝对没问题,展开 rdbmsAtnProvider.jar ,你会发现在展开的根目录下有一个 Properties 文件 rdbms-provider.properties 。 RDBMSProvider 如何从数据库中提取、增加、修改用户和组的信息就是通过此文件中配置的属性来完成的,每个 Provider 中的数据库操作都对应文件中一个 Properties ,如:
sql.getUser=SELECT USER_ID, PASSWORD FROM USER_SECURITY WHERE USER_NAME=?
这一行指定了 Provider 中提取用户的操作(一个属性) “ sql.getUser ”对应着一段 SQL 语句“ SELECT USER_ID, PASSWORD FROM USER_SECURITY WHERE USER_NAME=? ”,这个语句在 Provider 实现中被作为 PreparedStatement 的 SQL 语句来执行,“ ? ”对应传入的参数。基于这样的实现,你修改此 Properties 文件中的 SQL 语句就能支持客户化的表结构。
步骤:
关于用户密码的加密
缺省带的 RDBMS 认证提供者对用户的密码进行了加密操作,其加密程序如下:
import java.security.MessageDigest; import weblogic.utils.encoders.BASE64Encoder; … private MessageDigest messageDigest; private BASE64Encoder encoder; private String encodePassword(String password) { return encoder.encodeBuffer(messageDigest.digest(password.getBytes())); } …
![]() |
![]() |
![]() |
濠电姷顣介埀顒€鍟块埀顒€缍婇幃妯诲緞閹邦剛鐣洪梺闈浥堥弲婊勬叏濠婂牊鍋ㄦい鏍ㄧ〒閹藉啴鏌熼悜鈺傛珚鐎规洘宀稿畷鍫曞煛閸屾粍娈搁梻浣筋嚃閸ㄤ即宕㈤弽顐ュС闁挎稑瀚崰鍡樸亜閵堝懎濮┑鈽嗗亝濠㈡ê螞濡ゅ懏鍋傛繛鍡樻尭鐎氬鏌嶈閸撶喎顕i渚婄矗濞撴埃鍋撻柣娑欐崌閺屾稑鈹戦崨顕呮▊缂備焦顨呴惌鍌炵嵁鎼淬劌鐒垫い鎺戝鐎氬銇勯弽銊ф噥缂佽妫濋弻鐔碱敇瑜嶉悘鑼磼鏉堛劎绠為柡灞芥喘閺佹劙宕熼鐘虫緰闂佽崵濮抽梽宥夊垂閽樺)锝夊礋椤栨稑娈滈梺纭呮硾椤洟鍩€椤掆偓閿曪妇妲愰弮鍫濈闁绘劕寮Δ鍛厸闁割偒鍋勯悘锕傛煕鐎n偆澧紒鍌涘笧閹瑰嫰鎼圭憴鍕靛晥闂備礁鎼€氱兘宕归柆宥呯;鐎广儱顦伴崕宥夋煕閺囥劌澧ù鐘趁湁闁挎繂妫楅埢鏇㈡煃瑜滈崜姘跺蓟閵娧勵偨闁绘劕顕埢鏇㈡倵閿濆倹娅囨い蹇涗憾閺屾洟宕遍鐔奉伓